Data communication system for high-speed data transmission and reception operations and method for doing the same

ABSTRACT

A data communication system includes a first and a second information processing units. The second information processing unit transmits transmission requests to the second information processing unit and determines if there is any reception data from the second information processing unit at time intervals in which the value of a timer becomes zero. When such reception data does not exist, the timer is set to “A”. When the reception data exists, the second information processing unit executes a data reception process and the timer is set to “B”, which is smaller than “A”. In addition, the second information processing unit determines the existence of transmission data to be transmitted to the second information processing unit. When such transmission data does not exist, the timer is set to “A”. On the other hand, when such transmission data exists, the second information processing unit transmits the data to the second information processing unit and then sets the value of the timer to “B”.

CROSS REFERENCE TO RELATED APPLICATION

This application is based on and claims priority from Japanese PatentApplication No. Hei-8-276718 filed on Oct. 18, 1996, the contents ofwhich are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a data communication system that has afirst information processing unit such as a computer and the like, and asecond information processing unit such as a facsimile device with aprinting function and the like. The present invention also relates to adata communication control method for such a data communication system.In particular, the present invention relates to the data communicationsystem and the data communication control method wherein the secondinformation processing unit transmits facsimile data and the like inresponse to transmission requests from the first information processingunit.

2. Description of Related Art

Multifunction peripheral devices, which have a plurality of functionsand which act as peripheral equipment for computers, are now beingdeveloped. An example of such a multifunction peripheral device is afacsimile device that has a printing function. The facsimile device thathas the printing function is configured to print data received fromexternal devices such as a computer, a word processor and the like usingits printer unit that usually prints facsimile data.

After receiving the facsimile data received from other facsimile devicesand the like via a communication line, the facsimile device with theprinting function prints facsimile data. In addition, the facsimiledevice with the printing function receives data transmitted by thecomputer and prints such data received from the computer.

Another type of multifunction peripheral device is the multifunctionperipheral device that has expanded the functions of the facsimiledevice with the printing function. This type of multifunction peripheraldevice can send data received from a facsimile device or data readthrough a scanner to a computer and send facsimiles based on datatransmitted by the computer. In this way, the computer can centrallycontrol facsimile data receipt and transmission operations. Themultifunction peripheral device is very useful in that it can transmitdata read by a scanner to the computer, which can then edit the data,and subsequently receive edited data from the computer for facsimiletransmission. In this way, with the multifunction peripheral device,facsimile data can be checked without the need for printing bydisplaying the data on the display of the computer and previouslyreceived facsimile data can be stored for subsequent usage.

The computer has main control over its communication operations with themultifunction peripheral device, which may be the facsimile device withthe printing function. The computer transmits transmission requests tothe multifunction peripheral device at predetermined time intervals. Thecomputer subsequently receives data transmitted by the facsimile devicein response to the transmission requests.

In addition, the computer checks for the existence of data to betransmitted to the multifunction peripheral device at predeterminedintervals. When there is data that needs to be transmitted, the computertransmits the data to the multifunction peripheral device.

Meanwhile, for conventional data communication systems, the timeinterval at which the computer transmits the transmission requests isfixed regardless of the existence of data transmitted from themultifunction peripheral device. This does not pose a problem when thedata to be transmitted from the multifunction peripheral device is, forexample, status information data of the multifunction peripheral devicewhich is small in size and whose content does not change very often. Onthe other hand, when a large amount of data such as facsimile data hasbeen received by the multifunction peripheral device and needs to betransmitted to the computer, it takes a long time until the computerreceives all the data and thus, high-speed operations cannot beperformed.

The above problem is also holds true when transmitting data from thecomputer. That is, the interval for verifying the presence of data to betransmitted to the multifunction peripheral device is fixed regardlessof the existence of the data to be transmitted. Therefore, the abovesetup hampers the high-speed transmission of data to the multifunctionperipheral device.

Meanwhile, in parallel with performing data transmission and receptionoperations with the multifunction peripheral device, the computer alsoexecutes other operations and thus, transmission requests aretransmitted at comparatively long intervals when there is no data to bereceived from the multifunction peripheral device. In the same way, whenthere is no data to be transmitted, the verification of the presence ofdata to be transmitted is preferably performed at comparatively longintervals.

SUMMARY OF THE INVENTION

In view of the foregoing problems in the prior art, it is a primaryobject of the present invention to provide a data communication systemand a data communication control method for executing high-speed datareception operations. It is another object of the present invention toprovide the data communication system and the data communication methodfor executing high-speed data transmission operations.

To achieve the aforementioned objects, one aspect of the presentinvention provides a data communication system that has a firstinformation processing unit and a second information processing unit.The first information processing unit provides a transmission request tothe second information processing unit. The second informationprocessing unit receives the transmission request from the firstinformation processing unit and sends response data to the firstinformation processing unit in response to the transmission request. Thefirst information processing unit provides a subsequent transmissionrequest to the second information processing unit at a first timeinterval unless the second information processing unit sends theresponse data, and provides the subsequent transmission request to thesecond information processing unit at a second time interval shorterthan the first time interval when the second information processing unitsends the response data.

In this way, the time needed for receiving data from the secondinformation processing unit can be shortened when data is previouslyreceived. In this way, data reception operations can be performed athigh-speed.

Preferably, the first information processing unit is further fordetermining if there is transmission data for the second informationprocessing unit. The first information processing unit determines ifthere is transmission data at a third time interval when there is notransmission data during a previous determination operation anddetermines if there is transmission data at a fourth time intervalshorter than the third time interval when there is transmission dataduring a previous determination operation.

In this way, the data transmission operations within the datacommunication system can be performed at high-speed.

Another aspect of the present invention provides a data communicationmethod for facilitating communication between the first informationprocessing unit and the second information processing unit. This methodinvolves sending a transmission request from the first informationprocessing unit to the second information processing unit, determiningif the second information processing unit sends response data inresponse to the transmission request from the first informationprocessing unit, sending a subsequent transmission request from thefirst information processing unit to the second information processingunit at a first time interval unless the second information processingunit sends the response data, and sending the subsequent transmissionrequest from the first information processing unit to the secondinformation processing unit at a second time interval shorter than thefirst time interval when the second information processing unit sendsthe response data.

BRIEF DESCRIPTION OF THE DRAWINGS

Additional objects and advantages of the present invention will be morereadily apparent from the following detailed description of preferredembodiments thereof when taken together with the accompanying drawingsin which:

FIG. 1 is a perspective view illustrating a computer and a multifunctionperipheral device of a data communication system according to apreferred embodiment of the present invention;

FIG. 2 is a schematic cross-sectional view of the multifunctionperipheral device according to the preferred embodiment of the presentinvention;

FIG. 3 is a block diagram illustrating the construction of hardware ofthe data communication system according to the preferred embodiment ofthe present invention;

FIG. 4 is a block diagram illustrating the construction of software ofthe data communication system according to the preferred embodiment ofthe present invention;

FIG. 5 is a flowchart of a main process executed by a resource managerprogram of the computer according to the preferred embodiment of thepresent invention;

FIGS. 6A and 6B are flowcharts of data reception and transmissionprocesses executed by the resource manager program according to thepreferred embodiment of the present invention;

FIGS. 7A and 7B are timing charts illustrating data reception operationsexecuted of the resource manager program according to the preferredembodiment of the present invention; and

FIGS. 8A, 8B, 9A and 9B are timing charts illustrating data receptionand data transmission operations of the resource manager programaccording to the preferred embodiment of the present invention.

DETAILED DESCRIPTION OF PRESENTLY PREFERRED EXEMPLARY EMBODIMENT

A preferred embodiment of the present invention is described hereinafterwith reference to FIGS. 1 through 9B. As shown in FIG. 1, a datacommunication system of the present invention includes a computer 50(also referred to as a first information processing unit), which may bea personal computer (PC) or the like, and a multifunction peripheraldevice 1 (also referred to as a second information processing unit). Themultifunction peripheral device 1 has a scanner unit, a printer unit anda facsimile unit. As shown in FIGS. 1 to 3, the multifunction peripheraldevice 1 and the computer 50 are connected to each other via a parallelinterface (I/F) 3, a cable 4 and a parallel I/F 55 so that they cancommunicate with each other.

The multifunction peripheral device 1 mainly includes a facsimile unitthat performs facsimile operations, a printer unit 18 that prints datatransmitted by the facsimile unit or the computer 50, and a scanner unit16 that scans images and transmits the scanned image to the facsimileunit or the computer 50. The computer 50 generates operation commandsignals for controlling each unit of the multifunction peripheral device1. The multifunction peripheral device 1 transmits facsimile data orscanned data to the computer 50. Moreover, the computer 50 transmitsfacsimile data to another facsimile device via the facsimile unit of themultifunction peripheral device 1.

The construction of each unit of the multifunction peripheral device 1and the construction of the computer 50 are explained in detailhereinafter.

As shown in FIG. 3, the multifunction peripheral device 1 has an NCU(network controller unit) 5, a CPU 10, a modem 11, a buffer memory unit12, a ROM unit 13, an EEPROM unit 14, a RAM unit 15, a scanner unit 16,an encoder 17, a printer unit 18, an image memory unit 19 and a decoder20.

The NCU 5, which is a part of the facsimile unit, executes communicationline control operations. The multifunction peripheral device 1 isconnected to a telephone line via the NCU 5. The CPU 10 is connected viaa bus line to the other various units of the multifunction peripheraldevice 1 and controls such various units to perform facsimileoperations, that is, data communication operations following apredetermined communication control procedure.

The modem 11, which is a part of the facsimile unit, converts digitalimage signals into analog signals and transmits the analog signals tothe outside via the telephone line and the NCU 5. The modem 11 alsoconverts the analog image data signals transmitted from the outside viathe telephone line and the NCU 5 into digital signals, and performstransmission and reception of various communication control signals.

The buffer memory unit 12 includes a plurality of regions such as atransmission buffer region 12 a and a reception buffer region which arefor temporarily storing encoded image data that are transmitted to andreceived from the outside via the telephone line.

The ROM unit 13 stores a control program for controlling the printerunit 18, the scanner unit 16 and the facsimile unit. The EEPROM unit 14stores various data such as preset dial numbers, name of parties to becalled and one-touch dial numbers. The contents of the EEPROM unit 14remain intact even if the multifunction peripheral device 1 isdeactuated. The RAM unit 15 temporarily stores data for variousoperations.

As shown in FIG. 2, the scanner unit 16 is an apparatus for readingimages from a set of documents 32. The construction and operation of thescanner unit 16 is explained hereinafter. The documents 32 are placed ona document table 31 disposed at an upper side of the body la of themultifunction peripheral device 1. A separator 33 and a first carrierroller 34 separate each sheet of the document 32 and transport eachsheet towards a pair of second carrier rollers 35. When one sheet ofdocument 32 (which is set facing downwards in the present embodiment) isbeing transported from the pair of the second carrier rollers 35 towardsa paper release roller 36, a light source 38 of a reading member 37disposed between the rollers 35 and 36 irradiates the sheet of document32. The resulting reflection light from the sheet of document 32 entersa reading head 39 (which may be a line image sensor and the like) vialenses and reflectors. In this way, the reading head 39 generates theimage data of every sheet of document 32.

The encoder 17 shown in FIG. 3 encodes the image data read by thescanner unit 16. The facsimile unit externally transmits the encodedimage data in sequence via the transmission region 12 a of the buffermemory unit 12. The facsimile unit may also transmit the encoded imagedata immediately or at a designated time after the image data istemporarily stored in the image memory unit 19. This transmissionfunction of the facsimile unit using the image memory unit 19 is veryconvenient in case the facsimile device that will receive the image datais busy or data is to be transmitted to a plurality of devices.

The facsimile unit transmits not only the image data read by the scannerunit 16 but also the data transmitted by and received from the computer50. Image data read by the scanner unit 16 and processed by the computer50, and text file generated by the computer 50 and converted tofacsimile data are examples of data that are transmitted to the outsideby the facsimile unit.

During normal data reception operations in which the facsimile unitstores data in real time, the facsimile unit receives image datatransmitted from another facsimile device via the telephone line afterexecuting a predetermined communication control operation with suchfacsimile device. The facsimile unit subsequently stores the receivedimage data in the reception buffer region 12 b of the buffer memory unit12. Thereafter, the decoder 20 decodes (that is, expands) the imagedata, converts the image data into a dot image for printing page by pageand stores the dot image in a bit image storage region of the imagememory 19. The image data are expanded according to a predeterminedresolution, and the resulting image data are transmitted to the printerunit 18 for printing page by page.

As shown in FIG. 1, an operation unit 21 of the facsimile unit has adisplay 43 (which may be a liquid crystal display or the like fordisplaying the operating condition of the facsimile unit and charactersused for storing the names of the parties to be called), numeric keys44, function keys 45, one-touch memory keys 46, abbreviation keys 47 andthe like.

Here, the facsimile unit sends the received facsimile data to thecomputer 50 which may store the data as files. Furthermore, in the datacommunication system according to the present embodiment, the image dataread by the scanner unit 16 could be transmitted by the facsimile unitto the computer 50 which may store the scanned data in a file. In turn,the computer 50 can process the stored image data and send the processedimage data to the multifunction peripheral device 1 for printing orfacsimile transmission image to other facsimile devices.

Next, the printer unit 18 which acts as an image generator is explainedhereinafter. The printer unit 18 records data (e.g., image stored in theimage memory 19, data received by the facsimile unit, data transmittedby the computer 50 and stored in the image memory unit 19, etc.) as hardcopy on recording paper.

In other words, the image data received from the computer 50 istemporarily stored in the image memory unit 19. The image data may thenbe printed by the printer unit 18 with the CPU 10 controlling these datainput/output and storage processes.

Details of the construction of the printer unit 18 are explainedhereinafter with reference to FIG. 2. A paper supply cassette 22 isprovided at a rear portion of the body la of the multifunctionperipheral device 1. Recording paper 23 in the paper supply cassette 22is supplied toward a photoreceptor drum 25. Next, a light scanning unit26 projects laser light scanning rays on the photoreceptor drum 25 togenerate a latent image on the same drum 25. The latent image isdeveloped by using toner provided by a toner cartridge 27 and adeveloping unit 28 and is then copied on the recording paper 23. Therecording paper 23 subsequently passes through a fixing unit 29, whichincludes a heating roller and pressure roller and which fixes the image.The recording paper 23 then goes to a delivery tray 30. In this way, theprinter unit 18 of the present embodiment is an electrostatic electronicimage recording type printer. It must be noted that a thermal-typeprinter and the like that prints images on heat sensitive paper may alsobe used as the printer unit 18.

Meanwhile, as shown in FIG. 3, the computer 50, which is the firstinformation processing unit, includes a CPU 51, a ROM unit 52, a RAMunit 53, an input/output I/F 54 and a two-way parallel I/F 55. The CPU51 includes a microprocessor and the like. The ROM unit 52 is forstoring control programs and the like. The RAM unit 53 is for storingvarious data including image data read by the scanner unit 16 of themultifunction peripheral device 1. The input/output I/F 54 hasinput/output ports while the two-way parallel I/F 55 also hasinput/output ports for communicating with the multifunction peripheraldevice 1.

The computer 50 further includes a hard disk drive (HDD) 56, a floppydisk drive (FDD) 57, a display (which may be a CRT) 58, a keyboard 59and a mouse 60, all of which are connected to the input/output I/F 54.The hard disk drive 56, the floppy disk drive 57 and the display 58 areconnected to the input/output I/F 54 via a hard disk drive controller(HDC) 61, a floppy disk drive controller (FDC) 62 and a displaycontroller (DISPC)63, respectively.

The parallel I/F 3 and the parallel I/F 55 are two-way communication I/Fthat facilitate communication between the computer 50 and themultifunction peripheral device 1. Through the parallel I/F 3 and theparallel I/F 55, the computer 50 controls the scanner unit 16 to readdata, the printer unit 18 to generate the image and the facsimile unitto receive and transmit data via the NCU 5 and the like.

With the hardware construction of the data communication system of thepresent invention explained in the above, the software of the datacommunication system will be explained hereinafter with reference toFIG. 4. In the present embodiment, as shown in FIG. 4, the operatingsystem 70 of the computer 50 is the WINDOWS operating system. A FAXapplication program 71 for implementing the scanning, printing andfacsimile functions of the multifunction peripheral device 1 and generalapplication programs 72 such as word processing software run on the OS70. These application programs and other programs such as drivers andthe like are installed (stored) in the HDD 56 and the like beforehandwith the CPU 51 executing these programs to implement the variousoperations.

The FAX application program 71 is an application program of themultifunction peripheral device 1 that enables the computer 50 tooperate the multifunction peripheral device 1 as a facsimile device.

When the FAX application program 71 is in operation, buttons such as alog button 81, a scan fax button 82 and the like for implementing thevarious operations of the multifunction peripheral device 1 aredisplayed on the display 58. These operations are executed by clickingthe respective buttons displayed on the display 58. For example, whenthe log button 81 is clicked, a log manager program is actuated. The logmanager program manages transmission and reception record of thefacsimile data and displays such transmission and reception record onthe display 58. When the transmission and reception record is displayedon the display 58, a user can designate a specified transmission fileand the like and click a “send” command icon displayed on the display 58to transmit such file again.

When the “send” command is selected, the log manager program providesthe name of the selected transmission file and a facsimile transmissioncommand to a facsimile driver program 75. After receiving the facsimiletransmission command, the facsimile driver program 75 transmits the datafor facsimile transmission to the multifunction peripheral device 1 viaa resource manager program 77. The facsimile driver program 75 transmitsthe data for facsimile transmission together with other various controlsignals (that is, control signals for implementing the facsimiletransmission) that include a start signal for the facsimile transmissionoperation.

When the log manager program is in operation and a “print” command isselected, the transmission and reception record is printed by themultifunction peripheral device 1. In this case, the log manager programprovides the name of the file to be printed and the print command to aprinter driver program 76. The printer driver program 76 transmitsvarious control signals (that is, control signals necessary for printoperations) including print data and a print start signal to themultifunction peripheral device 1 via the resource manager program 77.

Furthermore, the log manager program may be actuated automatically when,for example, the facsimile driver program 75 indicates the storage ofnewly-received data with the log manager program displaying the datareception record and the like on the display 58.

When the scan fax button 82 is clicked, the facsimile driver program 75sends a document scan command to the scanner unit 16 of themultifunction peripheral device 1 via the resource manager program 77.Accordingly, the document 32 provided on the document table 31 of themultifunction peripheral device 1 is carried by the carrier rollers 34and 35 and is scanned by the reading head 39. The multifunctionperipheral device 1 then sends the scanned data to the facsimile driverprogram 75 via the resource manager program 77. Thereafter, thefacsimile driver program 75 provides the transmission record informationto the log manager program and then sends the scanned data to thefacsimile unit 95 of the multifunction peripheral device 1 via theresource manager program 77. In this way, the facsimile unit 95 of themultifunction peripheral device 1 performs the facsimile transmission ofthe scanned data.

The FAX application program 71 also facilitates the facsimiletransmission of revised image data that is displayed on the display 58of the computer 50 and scanned through the scanner unit 16 and thefacsimile transmission of files stored in the HDD 56 and the like of thecomputer 50. A view editor program 83 for implementing theabove-described functions is provided in the FAX application program 71.Aside from the FAX application program 71, the view editor program 83can also be activated by other application programs. Furthermore, theview editor program 83 activates when a file (that is, a file thatstores data received via the facsimile unit 95 or data read by thescanner unit 16) having specified file extension is opened.

In this way, the view editor program 83 is for storing data received bythe facsimile unit 95 or data scanned by the scanner unit 16 in thecomputer 50 and for displaying such data on the display 58. Afterdisplaying the data, the view editor program 83 can be used to edit theimage data by deleting parts of the image data, adding text, and thelike.

Aside from opening a file that has the predetermined file extension, theview editor program 83 may also be activated by placing a document 32 onthe document table 31 of the multifunction peripheral device 1.Furthermore, the view editor program 83 can also be activated byclicking a view editor program icon displayed on the display 58. At anyrate, when the view editor program 83 is activated, a menu is displayedon the display 58 from which a user can select a command from amongthose displayed. For example, the menu includes a FAX button and whenthis FAX button is clicked, a scan setting window is displayed. The scansetting window enables the setting of scanning condition such asresolution, scanning size and the like.

Therefore, after setting the suitable scanning conditions on the scansetting window, the user may click a start button in the scan settingwindow to make the view editor program 83 send scanning conditioninformation and a transmission request for the scan start command to thefacsimile driver program 75. Then, the facsimile driver program 75transmits the scanning condition and the scan start command to themultifunction peripheral device 1 via the resource manager program 77.

After the multifunction peripheral device 1 receives the scanningconditions and the scan start command, its scanner unit 16 performs thescanning operation based on designated scanning conditions and themultifunction peripheral device 1 sends the scanned data to thefacsimile driver program 75 via the resource manager program 77.Thereafter, the facsimile driver program 75 stores the data in the RAM53. Thereafter, the facsimile driver program 75 informs the view editorprogram 83 of the receipt of the read data (scanned data) and hands overcontrol of the data to the view editor program 83 before terminating itsown operations. In response, the view editor program 83 displays thescan data stored in the RAM 53 on the display 58 and superimposes adisplay of the setting conditions of the facsimile transmission on suchdisplay of the scan data. In this way, the user may designate where tosend the facsimile transmission on the setting screen. When the userclicks the start button, the view editor program 83 provides the scandata as facsimile transmission data and the transmission request forstarting facsimile transmission to the facsimile driver program 75.After providing the transmission status information to the log managerprogram, the facsimile driver program 75 sends the aforementioned scandata to the facsimile unit 95 of the multifunction peripheral device 1via the resource manager program 77. Thereafter, the facsimile unit 95of the multifunction peripheral device 1 executes the facsimiletransmission of the scanned data.

While the facsimile driver program 75 sends signals for scanning adocument and for requesting the transmission of scan data when the FAXbutton or the scan FAX button 82 is clicked, these functions may also beexecuted by other programs. For example, the scanner driver program 74may also send signals for scanning a document and for requesting thetransmission of the scanned data.

When the scan button is selected from the menu of the view editorprogram 83, the scanner unit 16 of the multifunction peripheral device 1performs the scanning operation based on the command from the scannerdriver program 74. The scanned data are displayed on the window screenof the view editor program 83 in the same way as in the case of thefacsimile transmission. When the user selects, for example, the storageof data in the HDD 56, the view editor program 83 retrieves the scandata stored in the RAM 53 and stored the scan data in the HDD 56 under asuitable filename.

The printer driver program 76 is activated when the print button isselected from among the menu of the view editor program 83. The printerdriver program 76 controls the printer unit 18 of the multifunctionperipheral device 1 to print the image data on recording paper.

Meanwhile, when a general application program 72 such as word processingsoftware and the like is activated, selection of a command such as printand the like in such application program 72 results in the activation ofthe printer driver program 76 with the display of a screen for settingresolution, paper size, contrast and the like and for executing thestart command of the printing operation. That is, by selecting a printcommand in the application program 72, the printing operation isperformed via the printer driver program 76.

In general, the method of access of the computer 50 with respect to thescanner unit 16, the printer unit 18 or the facsimile unit 95 variesdepending on the hardware construction of the scanner unit 16, theprinter unit 18, the facsimile unit 95 or the computer 50 itself. Inthis way, it will be troublesome to adjust access methods of theapplication programs 71 and 72 to suit various hardware. Accordingly,the respective driver programs 74, 75 and 76 are disposed between theapplication programs 71 and 72 and the multifunction peripheral device 1and the access methods from the application programs 71 and 72 arestandardized. At the same time, the driver programs 74, 75 and 76 areset to deal with changes in hardware, operating systems and the like.

Similarly, a display driver program 78 for controlling the display 58, akeyboard driver program 79 for controlling the keyboard 59 and a mousedriver program 80 for controlling the mouse 60 work on the OS 70.

In the present embodiment, the resource manager program 77 is providedfor supervising two-way data communication between the above-describeddriving programs 74, 75 and 76 and the multifunction peripheral device1. The resource manager program 77 activates when the OS 70 isactivated. If the resource manager program 77 is inactive (that is,closed) at the time the driver programs 74-76 is activated, the driverprograms 74-76 automatically activate the resource manager program 77.After the activation of the resource manager program 77, an icon 84indicating the resource manager program 77 is displayed on the display58. When the operation of the resource manager program 77 needs to bestopped temporarily, a user may click the icon 84 to terminate theoperation of the resource manager.

Meanwhile, both the scanner driver program 74 and the printer driverprogram 76 may be activated even if the FAX application program 71 isinactive. For example, the respective driver programs are activated when“print” and “scan” commands are generated from the view editor program83 or an application 72 such as a word processing application or thelike. In case the resource manager program 77 is inactive, therespective driver programs activate the resource manager program 77 andsecure transmission and reception buffers for facilitating datacommunication with the multifunction peripheral device 1. The FAXapplication program 71 and the facsimile driver program 75 are usuallyactive and thus, the resource manager program 77 is also usually active.That is, the resource manager program 77 needs to remain ready toreceive data at any time because it is impossible to know when themultifunction peripheral device 1 will transmit the facsimile datareceived from other facsimile devices and the like to the computer 50.

The scanner driver program 74, the facsimile driver program 75 and theprinter driver program 76 may access the resource manager program 77.The resource manager program 77 receives control data or the like fromthe respective driver programs 74-76 and sends such data in data packetsto the multifunction peripheral device 1 to identify the driver programfrom which the data is coming from. In addition, the resource managerprogram 77 also delivers the data packet transmitted from themultifunction peripheral device 1 to the respective driver. In this way,control operations based on the transmitted and received data areperformed by the respective driver programs and the multifunctionperipheral device.

Through its execution of the resource manager program 77, the CPU 51 ofthe computer 50 acts as a reception and transmission controller forprincipally controlling communication operations between the computer 50and the multifunction peripheral device 1. Accordingly, the CPU 51transmits transmission requests from the computer 50 to themultifunction peripheral device 1 at a predetermined interval. Inaddition, the CPU 51 receives data sent by the CPU 10, which acts as thetransmission controller of the multifunction peripheral device 1, to thecomputer 50 in response to the transmission requests.

Regarding the transmission of data from the computer 50, each driverprogram generates the transmission data and sends the transmissionrequest to the resource manager program 77. When there is data thatneeds to be transmitted, the resource manager program 77 transmits suchdata to the multifunction peripheral device 1.

If the interval for transmitting the transmission requests is set to beconstant regardless of the existence of data to be received from themultifunction peripheral device 1, the computer 50 will not be able toperform high-speed operations when there is a large amount of data suchas facsimile data to be received.

Moreover, regarding the transmission of data from the computer 50, ifthe interval for verifying the existence of data to be transmitted isset to be constant regardless of the existence of such transmissiondata, the computer 50 will not be able to perform high-speed operationswhen transmitting print data to the multifunction peripheral device 1.

Because the computer 50 executes processes other than the aforementioneddata transmission and reception processes, the interval for transmittingthe transmission requests is preferably long enough when there is nodata to be received from the multifunction peripheral device 1. In thesame way, when there is no data to be transmitted, the interval forverifying the existence of data to be transmitted is preferably set longenough to allocate time for executing the other processes.

Accordingly, the data communication system according to the presentinvention intends to solve the aforementioned problems by shortening thetransmission interval of the transmission requests to receive datawithin a short period of time and by shortening the interval forverifying the existence of transmission data when there is data to betransmitted to transmit data within a short period of time.

Hereinafter, the transmission and the reception processes as performedby the resource manager program 77 are explained with reference toflowcharts shown in FIGS. 5, 6A and 6B and timing charts shown in FIGS.7A to 9B.

After the resource manager program 77 is activated, step S1 activates atimer (which may be based on an internal clock of the computer 50) andsets the initial value of the timer to “A”. The timer counts down fromits initially set value and is controlled by the OS 70 for switchingtasks between the resource manager program 77 and other programs beingexecuted.

That is, after the resource manager program 77 sets the timer to apredetermined value, the OS 70 temporarily stops the execution of theresource manager program 77 and executes other programs that are beingrun in parallel with the resource manager program 77. Then, when thetimer value becomes zero, the OS 70 again executes the resource managerprogram 77.

To put it more concretely, the resource manager program 77 does notresume its operations until the timer value becomes zero; that is, theoperations of the resource manager program 77 remain suspended whilestep S2 is still giving a negative output. When the value of the timerbecomes zero, that is, when step S2 gives a positive output, step S3transmits the transmission request to the multifunction peripheraldevice 1 in order to determine whether or not there is reception data tobe received from the multifunction peripheral device 1. When step S3gives a negative output, that is, when step S3 determines that there isno reception data from the multifunction peripheral device 1 in responseto the transmission request, control goes to step S4 which sets thetimer value to “A” again. In order for the computer 50 to determine theexistence of the reception data, the multifunction peripheral device 1may transmit a message to the computer 50 that indicates that there isno data with the computer 50 being set to determine such message. It mayalso be that the computer 50 is arranged to wait for a response from themultifunction peripheral device 1 for a predetermined time period. Inthis arrangement, the computer 50 determines that there is no data fromthe multifunction peripheral device 1 when it does not receive any datawithin the predetermined time period. Here, in the present embodiment,the computer 50 determines the existence of reception data by checkingport signals of the parallel I/F 55.

Next, when step S7 checks for the presence of transmission data from anyof the driver programs 74-76 and determines that there is no suchtransmission data (that is, step S7 gives a negative output), controlgoes back to step S2 with the value of the timer set to “A”. Theexecution of this process will remain suspended until the timer valuebecomes zero. Therefore, when there is no reception data and notransmission data, the resource manager program 77 performs transmissionof the transmission requests to the multifunction peripheral device 1and the determination of the existence of transmission data from thedriver programs 74-76 at every time interval “A”. It must be noted thatthe determination of the existence of transmission data from the driverprograms 74-76 may be executed using messages.

Meanwhile, when there is reception data from the multifunctionperipheral device 1, that is, when step S3 gives a positive output,control goes to step S5 which executes a data reception process. Asshown in the flowchart of FIG. 6A, in this data reception process, stepS10 receives data, step S11 determines to which driver program the datais intended for based on identification information contained in thedata received and step S12 sends the data received to the correspondingdriver.

After the completion of the data reception process, control goes to stepS6 that sets the value of the timer to “B”. It must be noted that thetimer value “B” is smaller than the timer value “A”. That is, forexample, the timer value “A” may indicate a time period of 0.5 to 1second while the timer value “B” may indicate a time period of 0.1 to0.2 seconds. Step S7 determines if there is any data to be transmittedfrom any of the driver programs 74-76. When there is no transmissiondata, that is, when step S7 gives a negative output, control returns tostep S2 which suspends the execution of this process of the resourcemanager program 77 until the timer, whose timer value of “B” is set instep S6, becomes zero.

Therefore, when reception data exists and there is no transmission data,the time interval for transmitting the transmission requests to themultifunction peripheral device 1 is set to “B”. Because the timer value“B” is set to be smaller than the timer value of “A”, the interval fortransmitting transmission request to the multifunction peripheral device1 when there is data received from the same peripheral device 1 isshorter than the interval when there is no data received.

When there is transmission data from a driver program, that is, whenstep S7 gives a positive output, control goes to step S8 which executesa data transmission process. As shown in FIG. 6B, in this datatransmission process, step S13 receives the data from the correspondingdriver program, step S14 executes a packeting process for processing thedata into packets by adding identification information to the data andthe like, and step S15 transmits the data packet to the multifunctionperipheral device 1. Print data, data for facsimile transmission or thelike are examples of transmission data from the drivers 74-76.

After the execution of the above-described transmission process, step S9sets the value of the timer to “B” and control then goes to step S2which suspends this process of the resource manager program 77 until thevalue of the timer becomes zero. That is, when no reception data existsand there is transmission data, the time interval for determining theexistence of the transmission data is set to be shorter than the casewhen there is no transmission data. In this way, overall processingspeed of the computer 50 becomes faster.

Next, concrete examples of the data communication control process of thedata communication system according to the present embodiment of thepresent invention are explained with reference to the timing charts ofFIGS. 7A through 9B. It must be noted here that the resource managerprogram's transmission of the data received from the multifunctionperipheral device 1 to the respective drivers 74-76 has been omitted andis not shown in FIGS. 7A, 8A and 9A. FIG. 7A illustrates the timing inwhich the resource manager program 77 transmits the transmission requestto the multifunction peripheral device 1 and determines if there is anydata to be received (corresponding to step S3) and the timing forsending transmission checks (corresponding to step S7) in which theresource manager program 77 determines the existence of transmissiondata from the driver programs 74-76. FIG. 7B illustrates the timeintervals for performing the transmission request/data receptiondetermination operation of the resource manager program 77 which is fordetermining the presence of data to be received from the multifunctionperipheral device 1. In this example, for purposes of simplicity,transmission data to be sent from the computer 50 (more concretely,driver programs 74-76) to the multifunction peripheral device 1 are notshown in FIGS. 7A and 7B, and the transmission check operations are notillustrated in FIG. 7B.

When the timer value of the aforementioned timer becomes zero, theresource manager program 77 performs the transmission request/datareception determination and the transmission determination at timings{circle around (1)} through {circle around (3)}. Here, because there isno data received and there is no data to be transmitted, the timeinterval until the execution of the subsequent data receptiondetermination operation and the subsequent transmission determinationoperation will be “A”. In FIG. 7B, the timing at which thereception/determination operation is executed (that is, the timing atwhich the timer value becomes zero) are indicated as black spots. Asshown in FIG. 7B, the intervals between data reception determinationoperations {circle around (1)} through {circle around (3)} are longerthan the intervals between data reception determination operations{circle around (4)} through {circle around (7)}.

Because of the reception of data from the multifunction peripheraldevice 1 in {circle around (4)} through {circle around (7)}, the timeris set to “B” and thus, the time interval up to a subsequent receptiondetermination operation becomes the sum of the time period necessary forperforming the data reception process and the time period indicated bytimer value “B”. In this way, the time interval between subsequent datareception determination operations when there is data received from themultifunction peripheral device 1 becomes shorter than the time intervalwhen there is no data received from the multifunction peripheral device.The slanted lines in FIG. 7B indicate the time period in which theresource manager program 77 performs the data reception operation.

Meanwhile, the interval between the timing {circle around (7)} and thetiming {circle around (8)} is short because of the reception of dataduring the data reception determination operation at the timing {circlearound (7)}. On the other hand, no reception data is received in thedata reception determination operation at the timing {circle around(8)}, and thus, the interval between the timing {circle around (8)} to asubsequent timing {circle around (9)} is longer than the time intervalbetween the timing {circle around (7)} and the timing {circle around(8)}.

Next, FIGS. 8A and 8B illustrate a case in which there is reception datafrom the multifunction peripheral device 1 and there is transmissiondata from the driver.

Because the resource manager program 77 receives data from themultifunction peripheral device 1 at the timing {circle around (1)}, thetimer value is set to “B”. Thereafter, because there is transmissiondata from the driver program at the timing {circle around (2)}, theresource manager program 77 receives transmission data from the driverprogram and the timer value is again set to “B”. In this way, the timeinterval between the completion of the transmission process of thetiming {circle around (2)} and the timing {circle around (3)} will be“B” which is shorter than the time interval “A”. It must be noted thatthe time interval “B” is shown to be larger in FIG. 8B than in FIG. 7Bto clearly indicate the time interval “B”.

At the timing {circle around (3)} and the timing {circle around (4)},because both the reception data from the multifunction peripheral device1 and the transmission data from the computer 50 (that is, the driver)exist, the time interval from the completion of the data transmissionprocess of the timing {circle around (4)} to the data determinationprocess of the timing {circle around (5)} is time interval “B”.

In the data reception determination process at the timing {circle around(5)}, because there is no reception data from the multifunctionperipheral device 1, the resource manager 77 temporarily sets the timervalue to “A”. However, because there is transmission data from thecomputer 50 at the timing {circle around (6)}, the timer value is set to“B” and thus, the interval from the completion of the transmissionprocess of the timing {circle around (6)} to the data receptiondetermination operation of the timing {circle around (7)} is set to“B”f.

In this way, when there is data to be transmitted, the time interval upto the next determination process is shortened, and thus, the computer50 can perform transmission operations faster.

FIG. 9 illustrates another example in which there is reception data fromthe multifunction peripheral device 1 and there is transmission datafrom the driver program. In the same way as in the previous examples,the data transmission process and data reception process can both beexecuted at shortened time intervals.

As explained above, when there is no reception data and no transmissiondata, the transmission of the transmission requests and the receptiondetermination are set to a reasonably long time interval “A”. Also, theexecution of the process of the resource manager program 77 is suspendeduntil the timer value becomes zero and thus, with the process of theresource manager program 77 being suspended during such time interval,the other processes of the computer 50 can avail of enough CPU time.

On the other hand, when the reception data or the transmission dataexists, the process of sending transmission requests and the datareception process are executed at shorter time intervals. In the sameway, the verification of the presence of transmission data and the datatransmission process are also executed at shorter time intervals. Inthis way, the data communication system of the present invention canperform high-speed data reception and data transmission operations.

The present invention having been described should not be limited to thedisclosed embodiment, but it may be modified in many other ways withoutdeparting from the scope and the spirit of the invention.

For example, although the same timer is used for the data receptionprocess and the data transmission process of the resource managerprogram 77, different timers may also be used for these processes. Inthis way, while the time values “A” and “B” are used for bothtransmission of transmission requests and the transmission checks, withthe use of separate timers, the time interval for sending thetransmission requests and the time interval for sending the transmissionchecks may be set to different values. Moreover, while the aboveembodiment is explained with reference to the multifunction peripheraldevice provided with a scanner function, a printer function and afacsimile function, the present invention is not limited to suchperipheral device and may be applied to other data communication devicesthat execute digital data communication.

Furthermore, although the parallel I/F is used for data communication inthe aforementioned data communication system, a serial I/F may also beemployed.

Such changes and modifications are to be understood as being includedwith the scope of the present invention as defined by the appendedclaims.

What is claimed is:
 1. A data communication system capable ofcommunicating data bi-directionally between a first informationprocessing unit and a second information processing unit, comprising: afirst information processing unit that provides a transmission requestto determine whether there is data in the second information processingunit and that receives said data from said second information processingunit; and a second information processing unit that receives saidtransmission request provided by said first information processing unitand that sends said data to said first information processing unit inresponse to said transmission request when said second informationprocessing unit contains said data, wherein said first informationprocessing unit is further for repeatedly providing a subsequenttransmission request to said second information processing unit at oneof different first and second periodic time intervals depending onwhether or not the first information processing unit receives said data,the first information processing unit repeatedly providing thesubsequent transmission request to the second information processingunit at the first periodic time interval when said first informationprocessing unit does not receive said data, the first informationprocessing unit repeatedly providing said subsequent transmissionrequest to said second information processing unit at the secondperiodic time interval, which is shorter than said first periodic timeinterval, when said first information processing unit receives saiddata.
 2. A data communication system according to claim 1, said systemfurther comprising a third information processing unit for generatingtransmission data and for sending said transmission data to said firstinformation processing unit; wherein: said first information processingunit is further for determining if said third information processingunit has generated said transmission data, for receiving saidtransmission data generated by said third information processing unit,and for sending said transmission data to said second informationprocessing unit, said first information processing unit being forsubsequently determining if said third information processing unit hasgenerated said transmission data at a third time interval unless saidthird information processing unit has previously generated saidtransmission data and for subsequently determining if said thirdinformation processing unit has generated said transmission data at afourth time interval shorter than said third time interval when saidthird information processing unit has previously generated saidtransmission data.
 3. A data communication system according to claim 2,wherein said first information processing unit and said thirdinformation processing unit are integral.
 4. A data communication systemaccording to claim 3, wherein: said first time interval and said thirdtime interval are equal; and said second time interval and said fourthtime interval are equal.
 5. A data communication system according toclaim 4, wherein: said first information processing unit includes acontrol unit that is for executing a generation operation for generatingsaid transmission request, a determination operation for determining ifsaid third information processing unit has generated said transmissiondata, and a data processing operation, said control unit being forexecuting said generation operation and said determination operation inparallel with said data processing operation; and said secondinformation processing unit includes an image scanning unit for scanninga document and an image generation unit that generates image data basedon said document scanned by said image scanning unit.
 6. A datacommunication system according to claim 5, wherein said secondinformation processing unit further includes a facsimile unit forreceiving facsimile data from the outside, said second informationprocessing unit being for transmitting said facsimile data as said datato said first information processing unit.
 7. A data communicationsystem according to claim 6, wherein: said first information processingunit is a computer; and said second information processing unit is amultifunction peripheral device which has a plurality of functionalunits for executing mutually different functions by exchanging data withsaid computer.
 8. A data communication system according to claim 1,wherein said first information processing unit includes: a requestgenerating unit for providing said transmission request to said secondinformation processing unit; a transmission data generating unit forproviding transmission data to said second information processing unit,and a determination unit for determining at a third time interval ifsaid transmission data generating unit has generated said transmissiondata unless said transmission data generating unit has previouslygenerated said transmission data and for subsequently determining at afourth time interval shorter than said third time interval if saidtransmission data generating unit has generated said transmission datawhen said transmission data generating unit has previously generatedsaid transmission data.
 9. A data communication system according toclaim 8, wherein: said first time interval and said third time intervalare equal; and said second time interval and said fourth time intervalare equal.
 10. A data communication system according to claim 9,wherein: said first information processing unit further includes acontrol unit that is for executing a generation operation for activatingsaid request generating unit, a determination operation for activatingsaid determination unit, and a data processing operation, said controlunit being for executing said generation operation and saiddetermination operation in parallel with said data processing operation;and said second information processing unit includes an image scanningunit for scanning a document and an image generation unit that generatesimage data based on said document scanned by said image scanning unit.11. A data communication system according to claim 10, wherein saidsecond information processing unit further includes a facsimile unit forreceiving facsimile data from the outside, said second informationprocessing unit being for transmitting said facsimile data as said datato said first information processing unit.
 12. A data communicationsystem according to claim 11, wherein: said first information processingunit is a computer; and said second information processing unit is amultifunction peripheral device which has a plurality of functionalunits for executing mutually different functions by exchanging data withsaid computer.
 13. A data communication system according to claim 1,wherein: said second time interval starts from a completion of sendingthe data.
 14. A computer program product for driving a computer toperform bi-directional communication operations with an informationprocessing device, said computer program product comprising: a computerusable medium having computer readable program code means embodiedtherein for causing said computer to communicate bi-directionally withan information processing device, said computer program product having:computer readable program code means for causing said computer to send atransmission request to said information processing device to determinewhether said information processing device contains data to betransmitted to said computer; computer readable program code means forcausing said computer to determine if said computer receives said datain response to said transmission request; computer readable program codemeans for repeatedly causing said computer to send a subsequenttransmission request to said information processing device at a firstperiodic time interval when said computer does not receive said data;and computer readable program code means for repeatedly causing saidcomputer to send said subsequent transmission request to saidinformation processing device at a second periodic time interval, whichis shorter than said first periodic time interval, when said computerreceives said data; such that the computer is repeatedly caused to sendsaid subsequent transmission request at one of the different first andsecond periodic time intervals depending on whether or not the computerreceives said data.
 15. A computer program product according to claim14, said product further comprising: computer readable program codemeans for causing said computer to determine if there is transmissiondata to be sent to said information processing device at a third timeinterval; computer readable program code means for causing said computerto send said transmission data to said information processing devicewhen there is said transmission data; and computer readable program codemeans for causing said computer to subsequently determine if there issaid transmission data to be sent to said information processing deviceat a fourth time interval that is shorter than said third time intervalwhen there is said transmission data.
 16. A computer program productaccording to claim 14, said product further comprising: computerreadable program code means for causing said computer to initially set athird time interval to a first value; computer readable program codemeans for causing said computer to determine if there is transmissiondata to be sent to said information processing device at said third timeinterval; computer readable program code means for causing said computerto send said transmission data to said information processing devicewhen there is said transmission data; computer readable program codemeans for causing said computer to subsequently set said third timeinterval to a second value which is indicative of a shorter timeinterval than said third time interval when there is said transmissiondata; and computer readable program code means for causing said computerto subsequently set said third time interval to said first value unlessthere is transmission data.
 17. A computer for performing bi-directionalcommunication operations with a multifunction peripheral device, saidcomputer comprising: an information processing unit that provides atransmission request to a multifunction peripheral device to determinewhether said multifunction peripheral device contains data to betransmitted to said computer; and a control unit for controlling saidinformation processing unit, wherein said information processing unit isfurther for repeatedly providing a subsequent transmission request tosaid multi function peripheral device at one of different first andsecond periodic time intervals depending on whether or not theinformation processing unit received said data, the informationprocessing unit repeatedly providing the subsequent transmission requestto the multifunction peripheral device at the first periodic timeinterval when said information processing unit does not receive saiddata, the information processing unit repeatedly providing saidsubsequent transmission request to the multifunction peripheral deviceat the second periodic time interval, which is shorter than said firstperiodic time interval, when said information processing unit receivessaid data.
 18. A computer according to claim 17, said computer furthercomprising a data generating unit for generating transmission data andfor sending said transmission data to said information processing unit;wherein: said information processing unit is further for determining ifsaid data generating unit has generated said transmission data, forreceiving said transmission data generated by said data generating unit,and for sending said transmission data to said multifunction peripheraldevice, said information processing unit being for subsequentlydetermining if said data generating unit has generated said transmissiondata at a third time interval unless said data generating unit haspreviously generated said transmission data and for subsequentlydetermining if said data generating unit has generated said transmissiondata at a fourth time interval shorter than said third time intervalwhen said data generating unit has previously generated saidtransmission data.
 19. A computer according to claim 18, wherein: saidfirst time interval and said third time interval are equal; and saidsecond time interval and said fourth time interval are equal.
 20. Acomputer according to claim 17, wherein: said information processingunit includes a supervision unit that is for executing a generationoperation for generating said transmission request, a determinationoperation for determining if said data generating unit has generatedsaid transmission data, and a data processing operation, saidsupervision unit being for executing said generation operation and saiddetermination operation in parallel with said data processing operation.21. A computer according to claim 17, wherein said informationprocessing unit includes: a request generating unit for providing saidtransmission request to said multifunction peripheral device; atransmission data generating unit for providing transmission data tosaid multifunction peripheral device, and a determination unit fordetermining at a third time interval if said transmission datagenerating unit has generated said transmission data unless saidtransmission data generating unit has previously generated saidtransmission data and for subsequently determining at a fourth timeinterval shorter than said third time interval if said transmission datagenerating unit has generated said transmission data when saidtransmission data generating unit has previously generated saidtransmission data.
 22. A method of communicating data bi-directionallybetween two communication devices, comprising the steps of: checkingwhether data exists to be transmitted from a first communication deviceto a second communication device; transmitting said data from said firstcommunication device to said second communication device upon theexistence of said data; repeatedly checking whether other data exists tobe transmitted from the first communication device to the secondcommunication device at a first periodic time interval if no data hasbeen transmitted; and repeatedly checking whether other data exists tobe transmitted from the first communication device to the secondcommunication device at a second periodic time interval, which isshorter than said first predetermined interval, if data has beentransmitted.
 23. A method of communicating data between twocommunication devices according to claim 22, further comprising the stepof: changing said second predetermined time interval to said firstpredetermined time interval when there is no another data.
 24. A methodof communicating data between two communication devices according toclaim 22, wherein: said second predetermined time interval starts from acompletion of said transmitting step.
 25. A data processing device forperforming bi-directional communication operations with a peripheraldevice, said data processing device comprising: an informationprocessing unit that provides a transmission request to the peripheraldevice to determine whether said peripheral device contains data to betransmitted to said data processing device; and a control unit forcontrolling said information processing unit, wherein said informationprocessing unit repeatedly provides a subsequent transmission request tosaid peripheral device at one of different first and second periodictime intervals depending on whether or not the information processingunit receives said data, the information processing unit repeatedlyprovides the subsequent transmission request to the peripheral device atthe first periodic time interval when said information processing unitdoes not receive said data, the information processing unit repeatedlyprovides said subsequent transmission request to the peripheral deviceat the second periodic time interval, which is shorter than said firstperiodic time interval, when said information processing unit receivessaid data.
 26. The data processing device according to claim 25, saiddata processing device further comprising a data generating unit forgenerating transmission data and for sending said transmission data tosaid information processing unit; wherein: said information processingunit determines if said data generating unit has generated saidtransmission data, receives said transmission data generated by saiddata generating unit, and sends said transmission data to saidperipheral device, said information processing unit subsequentlydetermines if said data generating unit has generated said transmissiondata, at a third time interval unless said data generating unit haspreviously generated said transmission data, and subsequently determinesif said data generating unit has generated said transmission data, at afourth time interval shorter than said third time interval, when saiddata generating unit has previously generated said transmission data.27. The data processing device according to claim 26, wherein: saidfirst time interval and said third time interval are equal; and saidsecond time interval and said fourth time interval are equal.
 28. Thedata processing device according to claim 25, wherein: said informationprocessing unit includes a supervision unit that executes a generationoperation that generates said transmission request, a determinationoperation that determines if said data generating unit has generatedsaid transmission data, and a data processing operation, saidsupervision unit executes said generation operation and saiddetermination operation in parallel with said data processing operation.29. The data processing device according to claim 25, wherein saidinformation processing unit includes: a request generating unit thatprovides said transmission request to said peripheral device; atransmission data generating unit that provides transmission data tosaid peripheral device; and a determination unit that determines at athird time interval if said transmission data generating unit hasgenerated said transmission data, unless said transmission datagenerating unit has previously generated said transmission data, andthat subsequently determines at a fourth time interval shorter than saidthird time interval if said transmission data generating unit hasgenerated said transmission data, when said transmission data generatingunit has previously generated said transmission data.